ecc40d558f9e09a1826c4145af2be13074783a1c,src/freenet/support/transport/ip/IPAddressDetector.java,IPAddressDetector,onGetAddresses,#Vector#,166

Before Change


	 * @param v Vector of InetAddresses
	 */
	protected void onGetAddresses(Vector v) {
		Vector output = new Vector();
		boolean logDEBUG = Logger.shouldLog(Logger.DEBUG, this);
		if (logDEBUG)
			Logger.debug(
				this,
				"onGetAddresses found " + v.size() + " potential addresses)");
		if (v.size() == 0) {
			Logger.error(this, "No addresses found!");
			lastAddressList = null;
			return;
		} else {
//			InetAddress lastNonValidAddress = null;
			for (int x = 0; x < v.size(); x++) {
				if (v.elementAt(x) != null) {
					InetAddress i = (InetAddress) (v.elementAt(x));
					if (logDEBUG)
						Logger.debug(
							this,
							"Address " + x + ": " + i);
					if(i.isAnyLocalAddress()) {
						// Wildcard address, 0.0.0.0, ignore.
					} else if(i.isLinkLocalAddress() || i.isLoopbackAddress() ||
							i.isSiteLocalAddress()) {
						// Will be filtered out later if necessary.
						output.add(i);
					} else if(i.isMulticastAddress()) {
						// Ignore
					} else {
						// Ignore ISATAP addresses
						// @see http://archives.freenetproject.org/message/20071129.220955.ac2a2a36.en.html
						if(!AddressIdentifier.isAnISATAPIPv6Address(i.toString()))
							output.add(i);
					}
				}
			}
		}
		lastAddressList = (InetAddress[]) output.toArray(new InetAddress[output.size()]);
	}

	public void run() {

After Change


	 *            Vector of InetAddresses
	 */
	protected void onGetAddresses(List<InetAddress> addrs) {
		List<InetAddress> output = new ArrayList<InetAddress>();
		boolean logDEBUG = Logger.shouldLog(Logger.DEBUG, this);
		if (logDEBUG)
			Logger.debug(
				this,
				"onGetAddresses found " + addrs.size() + " potential addresses)");
		if (addrs.size() == 0) {
			Logger.error(this, "No addresses found!");
			lastAddressList = null;
			return;
		} else {
//			InetAddress lastNonValidAddress = null;
			for (int x = 0; x < addrs.size(); x++) {
				if (addrs.get(x) != null) {
					InetAddress i = addrs.get(x);
					if (logDEBUG)
						Logger.debug(
							this,
							"Address " + x + ": " + i);
					if(i.isAnyLocalAddress()) {
						// Wildcard address, 0.0.0.0, ignore.
					} else if(i.isLinkLocalAddress() || i.isLoopbackAddress() ||
							i.isSiteLocalAddress()) {
						// Will be filtered out later if necessary.
						output.add(i);
					} else if(i.isMulticastAddress()) {
						// Ignore
					} else {
						// Ignore ISATAP addresses
						// @see http://archives.freenetproject.org/message/20071129.220955.ac2a2a36.en.html
						if(!AddressIdentifier.isAnISATAPIPv6Address(i.toString()))
							output.add(i);
					}
				}
			}
		}
		lastAddressList = output.toArray(new InetAddress[output.size()]);
	}

	public void run() {